package com.pg.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pg.entity.EipTemp;
import com.pg.entity.dd.EipOperation;
import com.pg.entity.dd.OrderView;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 报工信息 服务类
 * </p>
 *
 * @author likl
 * @since 2020-07-06
 */
public interface EipOperationService extends IService<EipOperation> {

    /**
     * 更新
     *
     * @param eipTemp 报工信息数据
     */
    void updateOperation(EipTemp eipTemp);

    /**
     * 通过id逻辑删除
     *
     * @param puid 全库唯一码
     */
    void logicalDelete(String puid);

    /**
     * 批量逻辑删除
     *
     * @param asList 全库唯一码集合
     */
    void logicalDeleteBatch(List<String> asList);

    /**
     * 通过puid查询
     *
     * @param puid 全库唯一码
     * @return 报工信息数据
     */
    EipOperation selectByPuid(String puid);

    /**
     * 通过产品内部ID号查询
     *
     * @param insideNo 蟾皮内部ID号
     * @return 报工信息
     */
    EipOperation selectByInsideNo(String insideNo);

    /**
     * 通过map查询
     *
     * @param map 查询条件
     * @return 结果集
     */
    List<OrderView> selectListByMap(Map<String, String> map);

    /**
     * 分页列表查询
     *
     * @param page                分页参数
     * @param eipOperation        报工信息
     * @param planStartTimeBegin  起始时间
     * @param planStartTimeFinish 结束时间
     * @return 分页数据
     */
    IPage<EipOperation> selectForList(Page<EipOperation> page, EipOperation eipOperation, Date planStartTimeBegin, Date planStartTimeFinish);

}
